/*
 * @Descripttion: 
 * @Version: 
 * @Author: 王传宝
 * @Date: 2023-03-02 16:37:27
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2023-03-02 20:37:17
 */
import axios from "axios";
// 请求应该有一个时间限制
// axios.defaults.timeout = 50000;
axios.defaults.headers.post["Content-Type"] =
  "application/x-www-form-urlencoded"; // 设置所有的post请求的请求头  必须携带数据才会体现出来
// axios.defaults.baseURL = "http://121.89.205.189:3000/"; // 设置所有请求的前半部分  我们就可以在发送请求的时候只写后半部分
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    if (config.url === "/mine") {
      console.log("登录");
    } else {
      if (config.headers) {
        // config.headers的原来的类型是 AxiosHeaders  它这个类型身上是没有token属性的 现在想要强行添加一个 结果会报错
        // 于是我们自己定义了一个NewAxiosHeaders 类型 并把原来的config.headers 强制转换为新类型
        // 并给添加token
        // 右边之所以写成  localStorage.getItem('token') || ""  因为 getItem的返回值有可能是字符串也有可能是null
        config.headers.token = localStorage.getItem("token") || "";
      }
    }
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

export default axios;
